---
title: Pendahuluan
description: Ikhtisar singkat tentang Ultracite dan cara kerjanya.
---

Ultracite adalah alat pengembangan yang cepat, intuitif, dan sederhana yang menghadirkan format kode otomatis dan linting ke proyek JavaScript / TypeScript Anda. Dibangun di atas [Biome](https://biomejs.dev/) (sebuah formatter dan linter kode berbasis Rust), Ultracite menyediakan pengaturan pra-konfigurasi yang kuat dan dioptimalkan untuk pengembangan web modern.

Instal Ultracite dengan cepat dengan menjalankan:

```package-install
npx ultracite init
```

Kemudian ikuti panduan [Penggunaan](/usage) untuk memulai, atau lihat [Pengaturan](/setup) untuk kontrol yang lebih rinci.

## Bagaimana Ultracite bekerja?

Setelah disiapkan, Ultracite berjalan sebagian besar di latar belakang — secara otomatis memformat kode Anda dan menerapkan perbaikan setiap kali Anda menyimpan berkas. Karena Biome sangat cepat, bahkan pada proyek besar, menjalankan pemeriksaan Ultracite sangat cepat dan dapat dijalankan setiap kali menyimpan tanpa lag. Ini berarti Anda dapat fokus pada pengembangan dan pengiriman alih-alih memperbaiki masalah gaya secara manual atau men-debug kesalahan runtime.

## Apa itu Biome?

[Biome](https://biomejs.dev/) adalah rangkaian alat all-in-one untuk format kode dan linting. Biome, yang ditulis dalam Rust, menggabungkan fungsionalitas alat seperti [Prettier](https://prettier.io/) (formatter kode), [ESLint](https://eslint.org/) (linter), dan [Stylelint](https://stylelint.io/) menjadi satu binary yang cepat. Ultracite memanfaatkan kecepatan dan kemampuan Biome, menyediakan preset aturan dan pengaturan yang disesuaikan untuk proyek TypeScript modern.

## Tujuan

Tujuan Ultracite dari perspektif pengembangan adalah:

### Performa sangat cepat

Ultracite mendapatkan manfaat dari performa [Biome](https://biomejs.dev/) dan implementasi Rust dan kita harus berupaya agar tetap demikian.

### Tanpa konfigurasi secara bawaan

Ultracite dirancang agar tanpa konfigurasi secara bawaan. Ini memungkinkan pengguna baru memulai dengan cepat tanpa perlu mengonfigurasi linter/formatter; dan menghemat waktu tim saat memperkenalkan pengembang baru.

Tujuannya adalah menyediakan konfigurasi bawaan yang baik untuk sebagian besar proyek, tetapi juga menyediakan cara untuk menyesuaikan konfigurasi bagi yang membutuhkannya.

### Intuitif dan sederhana

Ultracite sebaiknya sedapat mungkin tidak terlihat. Sebaiknya, ia tidak memerlukan konfigurasi atau tindakan dari pengguna. Jika diperlukan, ia harus memberikan umpan balik yang mudah dipahami dan ditindaklanjuti.

### Keamanan tipe maksimal

Ultracite harus dirancang agar seaman mungkin dari sisi tipe. Ia harus menggunakan mode strict TypeScript dan aturan lint tambahan untuk menangkap kesalahan serta memberikan saran perbaikan.

### Kompatibel dengan alat lain

Ultracite harus mampu bekerja dengan alat dan pustaka lain tanpa menyebabkan konflik.